<!DOCTYPE html>
<html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-0 vector-toc-not-available vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-0 vector-feature-night-mode-enabled skin-theme-clientpref-os vector-sticky-header-enabled" lang="fr" dir="ltr"><head>
<meta charset="UTF-8">
<title>X Window System</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/png" href="./_res_/favicon.png">
<link rel="canonical" href="https://fr.wikipedia.org/wiki/X_Window_System"> <link href="./_mw_/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.wikimediamessages.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/mediawiki.page.gallery.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./_mw_/site.styles.css">
<link rel="stylesheet" type="text/css" href="./_mw_/noscript.css">
<link rel="stylesheet" type="text/css" href="./_res_/footer.css">
<link rel="stylesheet" type="text/css" href="./_res_/vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-X_Window_System rootpage-X_Window_System skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading"><span lang="en">X Window System</span></h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="contentSub">
<div id="mw-content-subtitle"></div>
</div>
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="fr" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="fr" dir="ltr"><p class="mw-empty-elt">
</p>
<p><b>X Window System</b>, souvent abrégé <b>X</b> ou <b>X11</b>, est un <a href="Syst%C3%A8me_de_fen%C3%AAtrage" title="Système de fenêtrage">système de fenêtrage</a> (<i><span class="lang-en" lang="en">window system</span></i> en <a href="Anglais" title="Anglais">anglais</a>) qui gère l'écran, la souris et le clavier. X repose sur un <a href="Protocole_de_communication" title="Protocole de communication">protocole de communication</a> <a href="Client-serveur" title="Client-serveur">client-serveur</a> qui permet d'utiliser un réseau de manière transparente entre l'application et le <a href="Terminal_(informatique)" title="Terminal (informatique)">terminal</a>. Le protocole en est à la onzième version depuis 1987, d'où l'abréviation X11.
</p><p>C'est un <a href="Standards_ouverts#Définition" class="mw-redirect" title="Standards ouverts">standard ouvert</a> largement utilisé sur les systèmes d’exploitation de <a href="Type_Unix" title="Type Unix">type Unix</a> (<a href="GNU-Linux" class="mw-redirect" title="GNU-Linux">Linux</a>, <a href="Berkeley_software_distribution" class="mw-redirect" title="Berkeley software distribution">BSD</a>, <abbr class="abbr" title="et cetera">etc.</abbr>). Le système de fenêtrage X (dit « serveur X ») est optionnel sur <a href="MacOS" title="MacOS">macOS</a> (qui utilise nativement <a href="Quartz_(informatique)" title="Quartz (informatique)">Quartz</a>). Il est possible d'installer un serveur X sur la plupart des <a href="Syst%C3%A8mes_d'exploitation" class="mw-redirect" title="Systèmes d'exploitation">systèmes d'exploitation</a>, dont <a href="Microsoft_Windows" title="Microsoft Windows">Windows</a><sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup>. On dit communément d'une <a href="Application_(informatique)" title="Application (informatique)">application</a> qu'elle fonctionne « <a href="https://fr.wiktionary.org/wiki/sous_X" class="extiw external" title="wikt:sous X">sous X</a> » lorsqu'elle est conçue pour l'environnement X<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>note 1<span class="cite-bracket">]</span></a></sup>.
</p><p>Les spécifications X11 sont actuellement dirigées par la <a href="Fondation_X.Org" class="mw-redirect" title="Fondation X.Org">Fondation X.Org</a> qui développe également <a href="X.org" class="mw-redirect" title="X.org">X.org</a>, sa principale implémentation.
</p>
<div class="mw-heading mw-heading2"><h2 id="Utilisation_&_fonctionnement"><span id="Utilisation_.26_fonctionnement"></span>Utilisation & fonctionnement</h2></div>
<p>Dans son principe, le système de fenêtrage X peut être utilisé sur un réseau local composé d'un ordinateur central, chargé du fonctionnement des applications comme des calculs, et de terminaux X de saisie et d'affichage, ce qui peut permettre à une université d'avoir plus de terminaux que d'ordinateurs. Il peut aussi fonctionner au travers d'une liaison internet (TCP/IP). Cette capacité lui permet aussi de fonctionner sur un seul ordinateur qui prend en même temps le rôle de serveur et la capacité d'affichage.
</p>
<div class="mw-heading mw-heading3"><h3 id="Utilisation_locale">Utilisation locale</h3></div>
<p>Lorsque le système de fenêtrage X est utilisé sur un ordinateur autonome, il n'est pas spécifiquement visible à l'écran. Toutefois, les applications font appel au système de fenêtrage X pour afficher et rafraîchir les écrans et pour être notifiées des entrées souris et clavier.
</p><p>Pour l'utilisateur le fonctionnement est assez similaire à celui qui serait celui d'un autre ordinateur.
</p><p>Toutefois, l'utilisation d'un système comme Linux ou la présence d'un gestionnaire de fenêtre unix sur un écran suggèrent l'utilisation du système de fenêtrage X.
</p>
<ul class="gallery mw-gallery-traditional">
<li class="gallerybox" style="width: 155px">
<div class="thumb" style="width: 150px; height: 150px;"><span typeof="mw:File"></span></div>
<div class="gallerytext">Affichage de consoles texte X11R1 en l'absence de gestionnaire de fenêtre, sur une machine Sun</div>
</li>
<li class="gallerybox" style="width: 155px">
<div class="thumb" style="width: 150px; height: 150px;"><span typeof="mw:File"></span></div>
<div class="gallerytext"><a href="Twm" title="Twm">twm</a>, le gestionnaire de fenêtre minimaliste par défaut</div>
</li>
<li class="gallerybox" style="width: 155px">
<div class="thumb" style="width: 150px; height: 150px;"><span typeof="mw:File"></span></div>
<div class="gallerytext">L'interface utilisateur graphique <a href="GNOME" title="GNOME">GNOME</a></div>
</li>
<li class="gallerybox" style="width: 155px">
<div class="thumb" style="width: 150px; height: 150px;"><span typeof="mw:File"></span></div>
<div class="gallerytext">L'interface utilisateur graphique <a href="Xfce" title="Xfce">Xfce</a></div>
</li>
</ul>
<div class="mw-heading mw-heading3"><h3 id="Fonctionnement_réseau"><span id="Fonctionnement_r.C3.A9seau"></span>Fonctionnement réseau</h3></div>
<p>X fonctionne suivant le modèle <a href="Client%E2%80%93serveur" class="mw-redirect" title="Client–serveur">client–serveur</a><sup id="cite_ref-Nye_3-0" class="reference"><a href="#cite_note-Nye-3"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup><sup class="reference cite_virgule">,</sup><sup id="cite_ref-Tyler_4-0" class="reference"><a href="#cite_note-Tyler-4"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> :
</p>
<ul><li>le serveur X fonctionne sur un terminal intelligent (client léger) doté d'un écran, d'un clavier et d'une souris ; à travers le réseau :
<ul><li>il reçoit des requêtes d'affichage ;</li>
<li>il renvoie la position de la souris, la liste des fontes ;</li>
<li>il envoie des notifications en cas d'événements comme une touche de clavier actionnée, un déplacement de fenêtre, un message inter-application ;</li></ul></li>
<li>un ou plusieurs logiciels client X, soit sur le même ordinateur que le serveur, soit des ordinateurs distants, se connectent au serveur X et lui envoient leurs requêtes d'affichage en utilisant le <i>protocole X</i> au travers de la <i>bibliothèque X</i> (Xlib). Le client est simplement l'application logicielle (jeu, <a href="Traitement_de_texte" title="Traitement de texte">traitement de texte</a>, calculatrice…) qui utilise alors le <i>protocole X</i> pour déléguer au serveur X les tâches d'<a href="Interactions_homme-machine" class="mw-redirect" title="Interactions homme-machine">interactions homme-machine</a> (ou IHM).</li></ul>
<p>Cette terminologie <a href="Client%E2%80%93serveur" class="mw-redirect" title="Client–serveur">client–serveur</a> avec le serveur côté utilisateur et le client côté application peut sembler étrange pour les nouveaux utilisateurs de X, les termes semblant inversés : on a davantage l'habitude de voir un serveur sur l'ordinateur principal que sur un terminal. Cependant X se place du point de vue de l'application plutôt que de l'utilisateur : X fournit des services d'entrée-sortie aux applications, c'est donc un serveur ; les applications consomment ces services, ce sont donc des clients.
</p><p>Avant l'arrivée du modèle client-serveur, les applications s'exécutaient sur une machine centralisée s'occupant à la fois du traitement des données et de la mise en forme de l'affichage. Le poste de l'utilisateur possédait essentiellement un clavier et un écran, parfois une <a href="Souris_(informatique)" title="Souris (informatique)">souris</a>.
</p><p>Le poste d'affichage ne possédait pas de réelle intelligence locale, les programmes s'exécutant sur la <a href="Unit%C3%A9_centrale" title="Unité centrale">machine centralisée</a>. On lui adjoignait cependant un boîtier contrôleur d'écran et de clavier qui exécutait un serveur X. L'ensemble se nommait un <i>terminal X</i>. Les programmes s'exécutaient sur la machine centralisée (<a href="Serveur_d'applications" title="Serveur d'applications">serveur d'applications</a> commun à plusieurs terminaux X) et les <a href="Interactions_homme-machine" class="mw-redirect" title="Interactions homme-machine">interactions homme-machine</a> de ces programmes étaient gérés par le terminal X (client applicatif). Le terminal X est un exemple de ce que l'on appelle un <a href="Client_l%C3%A9ger" title="Client léger">client léger</a>.
</p><p>X fonctionne en <a href="IPv4" title="IPv4">IPv4</a> depuis des années, mais il peut également fonctionner en <a href="IPv6" title="IPv6">IPv6</a>.
</p><p>Ce modèle de communication permet notamment l'affichage de fenêtres et autres éléments d'interfaces graphiques, en local (logiciel client et serveur sur la même machine) ou déporté sur un autre ordinateur à travers le réseau (un logiciel graphique tourne sur une machine distante et est affiché sur une station de bureau ou portable).
</p><p>L'affichage graphique se fait par <i><span class="lang-en" lang="en">bitmap</span></i> (<a href="Image_matricielle" title="Image matricielle">image matricielle</a>), par opposition à l'affichage par <a href="Image_vectorielle" title="Image vectorielle">image vectorielle</a>.
</p><p>Parmi les clients X, on en distingue généralement un en particulier : le <a href="Gestionnaire_de_fen%C3%AAtres" title="Gestionnaire de fenêtres">gestionnaire de fenêtres</a> dont le rôle est de gérer l'affichage, la sélection, le déplacement, le redimensionnement et les décorations des fenêtres (une fenêtre particulière étant la <i><span class="lang-en" lang="en">root-window</span></i> c'est-à-dire la fenêtre-racine). Ce gestionnaire de fenêtre peut s'exécuter sur une machine <i>distincte</i> de celle qui héberge l'application graphique<sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">[</span>note 2<span class="cite-bracket">]</span></a></sup>.
</p><p>Tout client préalablement autorisé à accéder à un poste X peut y ouvrir une fenêtre à tout moment, comme on ferait sonner un <a href="T%C3%A9l%C3%A9phone" title="Téléphone">téléphone</a>. Un soin particulier doit être apporté à la sécurité du poste afin par exemple qu'un ordinateur autorisé à afficher des informations administratives ne soit pas en mesure d'effectuer à distance des copies d'écran indiscrètes de tout l'écran du poste !
</p><p>La programmation X permet de séparer la <i>création</i> des <a href="Composant_d'interface_graphique" title="Composant d'interface graphique">widgets</a> (en mémoire) de leur <i>réalisation</i> (affichage) pour une bonne ergonomie : l'utilisateur apprécierait peu que, dans une fenêtre comportant quarante éléments graphiques distincts, chacun soit affiché au fur et à mesure que l'application le crée. Tout peut donc être créé d'abord, et ensuite seulement l'ensemble affiché en une seule fois, pour éviter des clignotements fatiguant l’œil.
</p>
<div class="mw-heading mw-heading3"><h3 id="Connexion_avec_Windows">Connexion avec Windows</h3></div>
<p>La technologie a été portée de manière à pouvoir afficher sous Windows des fenêtres d'applications qui fonctionnent sur un système Unix.
Ceci se fait au travers de logiciels comme <a href="Cygwin/X" class="mw-redirect" title="Cygwin/X">Cygwin/X</a> ou comme <a href="Xming" title="Xming">Xming</a> ou <a href="X11vnc" title="X11vnc">x11vnc</a>.
</p><p>A l'inverse, le déport de l'affichage de Windows vers un environnement Unix n'utilise pas le système de fenêtres X. Des technologies comme <a href="VNC" class="mw-disambig" title="VNC">VNC</a> ou <a href="RDP" class="mw-disambig" title="RDP">RDP</a> peuvent être utilisés. Contrairement au système de fenêtres X, les choix techniques n'ayant pas été les mêmes, elles ne permettent pas le déport d'une seule fenêtre: l'ensemble du terminal est déporté: écran, clavier et souris.
</p>
<div class="mw-heading mw-heading2"><h2 id="Programmation_X">Programmation X</h2></div>
<p>La <a href="Programmation" class="mw-redirect" title="Programmation">programmation</a> pour X peut se faire à différents niveaux. Le plus bas est celui du protocole X, ou comment le client et le serveur échangent des données. On ne programme pour ainsi dire jamais directement au niveau du protocole, mais il peut être utile de le connaître, de façon par exemple à décoder les informations qui circulent.
</p><p>Le niveau au-dessus est celui de la <i>bibliothèque X</i> ou <a href="Xlib" title="Xlib">Xlib</a>. La Xlib propose une traduction assez directe des requêtes du protocole X en appels de fonctions. Elle permet notamment de créer et de manipuler des fenêtres, de dessiner à l'intérieur par l'intermédiaire d'un contexte graphique et de recevoir des événements (clavier, souris, exposition des fenêtres, messages inter-clients, etc.) Pour la Xlib, une fenêtre est un rectangle dans lequel on peut dessiner, et qu'on peut soulever ou baisser par rapport aux autres (on peut aussi imbriquer des fenêtres) ; la décoration des fenêtres de plus haut niveau est apportée par le <a href="Gestionnaire_de_fen%C3%AAtres" title="Gestionnaire de fenêtres">gestionnaire de fenêtres</a>. La programmation directe en Xlib n'est guère adaptée que pour des <a href="Environnement_graphique" class="mw-redirect" title="Environnement graphique">environnements graphiques</a> très limités ou pour le développement de <a href="Toolkit" title="Toolkit">boîtes à outils</a>.
</p><p>Le niveau suivant est celui de la <i>boîte à outils X</i> ou <a href="X_Toolkit" class="mw-redirect" title="X Toolkit">X Toolkit</a>, Xt en abrégé, un système <a href="Programmation_orient%C3%A9e_objet" title="Programmation orientée objet">orienté objets</a> (mais entièrement en <a href="C_(langage)" title="C (langage)">C</a>) qui permet de manipuler des <i><span class="lang-en" lang="en">widgets</span></i>, qui sont des fenêtres munies de ressources et de méthodes, leur permettant de réagir « toutes seules » à certains événements. Ce niveau est composé de deux parties : les <i>intrinsics</i> et un jeu de <i>widgets</i>. Les <i>intrinsics</i> sont le cadre dans lequel on peut communiquer avec les <i>widgets</i>, et proposent quelques <i>widgets</i> tout à fait rudimentaires (dont le <i>widget</i> Core, une fenêtre qui ne réagit à rien). Il y a plusieurs jeux de <i>widgets</i> disponibles pour Xt. Le jeu <a href="Projet_Athena_(informatique)" class="mw-redirect" title="Projet Athena (informatique)">Athena</a> (<a href="Xaw" title="Xaw">Xaw</a> en abrégé), développé au <a href="Massachusetts_Institute_of_Technology" title="Massachusetts Institute of Technology">MIT</a>, est petit et peu complet, mais il a l'avantage d'être léger, standard et gratuit. Deux autres exemples importants sont le jeu <a href="Motif_(biblioth%C3%A8que_graphique)" title="Motif (bibliothèque graphique)">Motif</a> de l'<a href="Open_Software_Foundation" title="Open Software Foundation">OSF</a>, très commun pour les applications commerciales jusque vers 2000, et <a href="OpenLook" title="OpenLook">OpenLook</a>, qui imite l'apparence de SunView, dont il est le remplaçant.
</p><p>Ces différentes bibliothèques sont de moins en moins utilisées, au profit d'autres surcouches de la Xlib, qui remplissent les mêmes fonctions qu'Xt. Les deux principales sont <a href="GTK%2B" class="mw-redirect" title="GTK+">GTK+</a> et <a href="Qt" title="Qt">Qt</a>.
</p>
<div class="mw-heading mw-heading2"><h2 id="Historique">Historique</h2></div>
<div class="mw-heading mw-heading3"><h3 id="Prédécesseurs"><span id="Pr.C3.A9d.C3.A9cesseurs"></span>Prédécesseurs</h3></div>
<p>Différents systèmes d'affichage graphique par point ont précédé X. Notamment <a href="Xerox_Alto" title="Xerox Alto">Alto</a> (1973) et <a href="Xerox_Star" title="Xerox Star">Star</a> (1981) de <a href="Xerox" title="Xerox">Xerox</a>, Display Manager (1981) d'<a href="Apollo_Computer" title="Apollo Computer">Apollo Computer</a>, <a href="Apple_Lisa" title="Apple Lisa">Lisa</a> (1983) et <a href="Macintosh" title="Macintosh">Macintosh</a> (1984) d'<a href="Apple" title="Apple">Apple</a>. Dans l'univers <a href="Unix" title="Unix">Unix</a> l'Andrew Project (1982) et le terminal Blit (1982) de Rob Pike.
</p><p>L'<a href="Universit%C3%A9_Carnegie-Mellon" title="Université Carnegie-Mellon">université Carnegie-Mellon</a> a produit une application d'accès à distance appelée Alto Terminal, permettant l'affichage dans des fenêtres d'un Xerox Alto d'applications tournant sur des systèmes distants (généralement des systèmes Unix <a href="VAX" title="VAX">DEC VAX</a>).
</p><p>Initié à l'été 1984, X Window System se place en successeur du W Window System, fonctionnant sur le <a href="Syst%C3%A8me_V" class="mw-redirect" title="Système V">système V</a>. Le choix des lettres X et W provient de l'ordre alphabétique : la lettre X suit la lettre W, qui suit elle-même la lettre V. Quant au V de Système V, il provient de la <a href="Num%C3%A9ration_romaine" title="Numération romaine">numération romaine</a> dans laquelle le 5 s'écrit V. Le W Window System utilisait un protocole réseau, supportait des terminaux et des fenêtres graphiques, en gérant la superposition des fenêtres la maintenance d'une liste de commandes graphiques<sup id="cite_ref-ScheiflerGettys1986_6-0" class="reference"><a href="#cite_note-ScheiflerGettys1986-6"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup>.
</p>
<div class="mw-heading mw-heading3"><h3 id="Origine_et_premiers_développements"><span id="Origine_et_premiers_d.C3.A9veloppements"></span>Origine et premiers développements</h3></div>
<p>L'idée originale de X a émergé au MIT en 1984 fruit d'une collaboration entre <a href="Jim_Gettys" title="Jim Gettys">Jim Gettys</a> (<a href="Projet_Athena" title="Projet Athena">projet Athena</a>) et Bob Scheifler (<a href="MIT" class="mw-redirect" title="MIT">MIT</a>). Scheifler avait besoin d'un environnement d'affichage utilisable pour déboguer le système Argus. Le <a href="Projet_Athena" title="Projet Athena">projet Athena</a> (projet conjoint entre DEC, MIT et IBM devant fournir un accès facilité aux ressources informatiques pour tous les étudiants) avait besoin d'un système graphique indépendant de la plate-forme fonctionnant sur des systèmes hétérogènes provenant de différents fournisseurs. Le système de fenêtres alors en cours de développement dans le projet Andrew de l'université Carnegie-Mellon ne rendait pas les licences disponibles et aucune alternative n'existait.
</p><p>Ce problème a été résolu en créant un protocole pouvant à la fois exécuter des applications locales et distantes. Au milieu de 1983, un premier portage de W vers Unix fonctionnait mais à un cinquième seulement de sa vitesse sous V. En <time class="nowrap" datetime="1984-05" data-sort-value="1984-05">mai 1984</time>, face à ce problème, Scheifler a remplacé le protocole <a href="Synchronisme" title="Synchronisme">synchrone</a> de W par un protocole <a href="Asynchronisme" title="Asynchronisme">asynchrone</a> et les listes de commandes par des buffers graphiques associés à chaque fenêtre donnant naissance à la première version de X. X devient le premier environnement graphique indépendant du matériel comme du fabricant.
</p><p>Scheifler, Gettys et Ron Newman se sont mis au travail et X a progressé rapidement. La version 6 est réalisée en <time class="nowrap" datetime="1985-01" data-sort-value="1985-01">janvier 1985</time>. X est alors choisi par DEC pour sa première <a href="Station_de_travail" title="Station de travail">station de travail</a>, <a href="Ultrix" class="mw-redirect" title="Ultrix">Ultrix</a>, étant considéré comme le seul système de fenêtrage susceptible d'être disponible à temps. Les ingénieurs de DEC ont porté X6 sur l'écran QVSS de DEC sur MicroVAX.
</p><p>Au deuxième trimestre de 1985 la version 9 de X ajoute le support des couleurs, permettant son utilisation sur le VAXstation-II/GPX de DEC (<span class="lang-en" lang="en">Digital Equipment Corporation</span>).
</p><p>Un groupe de l'<a href="Universit%C3%A9_Brown" title="Université Brown">Université Brown</a> a porté la version 9 sur l'IBM RT-PC <a href="https://en.wikipedia.org/wiki/IBM_RT-PC" class="extiw external" title="en:IBM RT-PC"><span class="indicateur-langue" title="Article en anglais : « IBM RT-PC »">(en)</span></a>. Des problèmes d'<a href="Alignement_en_m%C3%A9moire" title="Alignement en mémoire">alignement de données</a> ont nécessité une adaptation incompatible du protocole, aboutissant à la fin de 1985 à la version 10. En 1986, d'autres organismes commencent à s’intéresser à X. X10R2 sort en <time class="nowrap" datetime="1986-01" data-sort-value="1986-01">janvier 1986</time>, puis X10R3 en <time class="nowrap" datetime="1986-02" data-sort-value="1986-02">février 1986</time>. Bien que le MIT ait accordé une licence X6 payante à certains organismes, c'est à ce moment qu'il est décidé de distribuer X10R3, ainsi que les versions suivantes sous ce qui deviendra la <a href="Licence_MIT" title="Licence MIT">licence MIT</a>, dans l'intention de promouvoir X, et espérant en retour la création de nombreuses applications sous X. La version X10R3 est la première à être déployée à grande échelle, utilisée par DEC et <a href="Hewlett-Packard" title="Hewlett-Packard">Hewlett-Packard</a> pour leurs produits. D'autres groupes ont porté X10 sur <a href="Apollo_Computer" title="Apollo Computer">Apollo</a>, sur les stations de travail <a href="Sun_Microsystems" title="Sun Microsystems">Sun</a> et même sur <a href="IBM_AT" class="mw-redirect" title="IBM AT">IBM PC/AT</a>. La première démonstration d'application commerciale pour X (un système de conception mécanique assistée par ordinateur de Cognition Inc, fonctionnant sur VAX, et dont l'affichage s'effectuait sur des PC distants munis de serveur X, présenté par Jim Fulton et Jan Hardenbergh) a eu lieu au salon Autofact à ce moment-là. La dernière version de X10 est X10R4, en <time class="nowrap" datetime="1986-12" data-sort-value="1986-12">décembre 1986</time>. Des tentatives ont été faites pour permettre à des serveurs X de collaborer en temps réel. Un de ces premiers efforts était l'outil SharedX de Philip J. Gust. Plus tard <a href="Virtual_Network_Computing" title="Virtual Network Computing">Virtual Network Computing</a> (VNC) permettra le partage d'un bureau.
</p><p>Bien que X10 offre des fonctionnalités intéressantes et puissantes, une refonte du protocole devenait nécessaire avant une large diffusion, afin d'obtenir une architecture plus indépendante du matériel. Le MIT seul n'avait pas les ressources suffisantes pour un travail de cette ampleur. Le Western Software Laboratory de DEC disposait alors d'une équipe expérimentée entre deux projets. Smokey Wallace de DEC WSL et Jim Gettys ont proposé que DEC WSL développe X11 et le publie gratuitement sous les mêmes termes que X9 et X10. Les développements ont commencé en <time class="nowrap" datetime="1986-05" data-sort-value="1986-05">mai 1986</time> et le protocole a été finalisé en août. La version alpha est entrée en phase de tests en <time class="nowrap" datetime="1987-02" data-sort-value="1987-02">février 1987</time> suivie par la version bêta en mai. X11 sort finalement le <time class="nowrap" datetime="1987-09-15" data-sort-value="1987-09-15">15 septembre 1987</time>.
</p><p>La conception du protocole X11, dirigée par Scheifler, a fait l'objet de discussions approfondies sur des <a href="Liste_de_diffusion" title="Liste de diffusion">listes de diffusion</a> publiques au début d'internet, reliées aux groupes de discussion <a href="Usenet" title="Usenet">Usenet</a>. Gettys a déménagé en Californie pour aider à diriger le développement X11 chez WSL au centre de recherche sur les systèmes de DEC. Phil Karlton et Susan Angebrandt ont dirigé la conception et la mise en œuvre de maquettes du serveur X11. X représente donc l'un des premiers projets de logiciels libres et open source distribué à très grande échelle.
</p>
<div class="mw-heading mw-heading3"><h3 id="Du_Consortium_X_du_MIT_au_X_Consortium,_Inc."><span id="Du_Consortium_X_du_MIT_au_X_Consortium.2C_Inc."></span>Du Consortium X du MIT au X Consortium, Inc.</h3></div>
<p>En 1989, Simson Garfinkel qualifia X de "réalisation spécifique la plus importante d'Athena à ce jour". De son côté DEC considérait que le seul développement du système valait la donation faite au MIT. Gettys a rejoint l'équipe de conception du VAXstation 2000 <a href="https://en.wikipedia.org/wiki/VAXstation" class="extiw external" title="en:VAXstation"><span class="indicateur-langue" title="Article en anglais : « VAXstation »">(en)</span></a> pour en assurer la compatibilité avec X, dénommé DECwindows par DEC. La société affecta 1200 employés au portage de X vers <a href="Ultrix" class="mw-redirect" title="Ultrix">Ultrix</a> et <a href="OpenVMS" title="OpenVMS">VMS</a><sup id="cite_ref-garfinkel19881112_7-0" class="reference"><a href="#cite_note-garfinkel19881112-7"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup>. En 1987, face au succès grandissant de X11, le MIT a souhaité renoncer au pilotage de X, mais lors d'une réunion en juin 1987 rassemblant neuf constructeurs, ceux-ci ont souhaité le maintien d'une organisation neutre pour maintenir l'unité du projet face au marché. En <time class="nowrap" datetime="1988-01" data-sort-value="1988-01">janvier 1988</time>, le Consortium X du MIT est constitué en tant que groupe de vendeurs à but non lucratif, avec Scheifler comme directeur. Sa mission est de piloter les développements futurs de X de manière neutre, en respectant les intérêts commerciaux et éducatifs.
</p><p>Jim Fulton en <time class="nowrap" datetime="1988-01" data-sort-value="1988-01">janvier 1988</time>, et <a href="Keith_Packard" title="Keith Packard">Keith Packard</a> en <time class="nowrap" datetime="1988-03" data-sort-value="1988-03">mars 1988</time> rejoignent l'équipe en tant que développeurs seniors. Jim se concentre sur <a href="Xlib" title="Xlib">Xlib</a>, les <a href="Polices_de_caract%C3%A8res" class="mw-redirect" title="Polices de caractères">polices</a>, les gestionnaires de fenêtres et les utilitaires, et Keith réimplémente le serveur. L'équipe intègre ensuite Donna Converse, Chris D. Peterson et Stephen Gildea qui se concentrent sur les boîtes à outils et les widgets. Le travail est effectué en étroite collaboration avec Ralph Swick du MIT Project Athena. Le consortium X du MIT a produit plusieurs révisions importantes de X11, à commencer par X11R2 en <time class="nowrap" datetime="1988-02" data-sort-value="1988-02">février 1988</time>. L'équipe est complétée par Jay Hersh en <time class="nowrap" datetime="1991-01" data-sort-value="1991-01">janvier 1991</time> pour travailler sur les fonctionnalités PEX et X113D, puis par Ralph Mor, également sur PEX et Dave Sternlicht. En 1993, alors que le consortium X du MIT se préparait à quitter le MIT, l'équipe est renforcée par R. Gary Cutbill, Kaleb Keithley et David Wiggins<sup id="cite_ref-ScheiflerGettys1997_8-0" class="reference"><a href="#cite_note-ScheiflerGettys1997-8"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup>.
</p><p>En 1993, le X Consortium, Inc. (société à but non lucratif) succède au Consortium X du MIT. Il publie la version X11R6 le <time class="nowrap" datetime="1994-05-16" data-sort-value="1994-05-16">16 mai 1994</time>. En 1995, il reprend le développement de la boîte à outils <a href="Motif_(biblioth%C3%A8que_graphique)" title="Motif (bibliothèque graphique)">Motif</a> et du bureau <a href="Common_Desktop_Environment" title="Common Desktop Environment">Common Desktop Environment</a> pour les systèmes Unix. Puis il se dissout à la fin de 1996, après une dernière version, X11R6.3. Il laisse en héritage l'exemple d'une participation commerciale dans un développement open source<sup id="cite_ref-9" class="reference"><a href="#cite_note-9"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup>.
</p>
<div class="mw-heading mw-heading2"><h2 id="Informations_supplémentaires"><span id="Informations_suppl.C3.A9mentaires"></span>Informations supplémentaires</h2></div>
<p>Le logiciel client X, sans doute le plus connu et celui qui sert à également tester un bon paramétrage, est Xclock (<a href="Xeyes" title="Xeyes">xeyes</a> et Xlogo sont également très utilisés à des fins de démonstration).
</p><p>Le <a href="Massachusetts_Institute_of_Technology" title="Massachusetts Institute of Technology">MIT</a> a publié la première version de X en <time class="nowrap" datetime="1984-06" data-sort-value="1984-06">juin 1984</time>.
</p><p>À la fin des années 1980, <a href="Sun_Microsystems" title="Sun Microsystems">Sun</a> a proposé un protocole et un serveur programmable de plus haut niveau <a href="NeWS" title="NeWS">NeWS</a>, programmable dans un langage étendant <a href="PostScript" title="PostScript">PostScript</a> pour le graphique distant, qui n'a pas eu le succès escompté.
</p><p>On trouvait sur X la première version du logiciel <a href="Neko_(logiciel)" title="Neko (logiciel)">Neko</a>.
</p><p>En langue anglaise, X a popularisé des <a href="Noms_de_couleur_X11" title="Noms de couleur X11">noms de couleur X11</a>.
</p>
<div class="mw-heading mw-heading2"><h2 id="Voir_aussi">Voir aussi</h2></div>
<div class="mw-heading mw-heading3"><h3 id="Articles_connexes">Articles connexes</h3></div>
<ul><li><a href="Projet_Athena_(informatique)" class="mw-redirect" title="Projet Athena (informatique)">Projet Athena</a></li>
<li><a href="Consortium_X" title="Consortium X">Consortium X</a></li>
<li><a href="Commandes_Unix#Commande_pour_X_Window_System_(X11)" title="Commandes Unix">Commandes pour X11</a></li>
<li><a href="X_Display_Manager" class="mw-redirect" title="X Display Manager">X Display Manager</a></li>
<li><a href="Xming" title="Xming">Xming</a></li>
<li><a href="Xterm" title="Xterm">xterm</a></li>
<li><a href="XFree86" title="XFree86">XFree86</a>/<a href="X.Org" title="X.Org">X.Org</a></li>
<li><a href="Gestionnaire_de_fen%C3%AAtres" title="Gestionnaire de fenêtres">Gestionnaire de fenêtres</a></li></ul>
<div class="mw-heading mw-heading4"><h4 id="Serveur_X_/_affichage_graphique_à_distance"><span id="Serveur_X_.2F_affichage_graphique_.C3.A0_distance"></span>Serveur X / affichage graphique à distance</h4></div>
<ul><li><a href="Linux_Terminal_Server_Project" title="Linux Terminal Server Project">Linux Terminal Server Project</a></li>
<li><a href="X_Display_Manager_Control_Protocol" title="X Display Manager Control Protocol">X Display Manager Control Protocol (XDMCP)</a></li>
<li><a href="Technologie_NX" title="Technologie NX">Technologie NX</a></li></ul>
<div class="mw-heading mw-heading4"><h4 id="Affichage_3D">Affichage 3D</h4></div>
<ul><li><a href="Xgl" title="Xgl">Xgl</a>/<a href="AIGLX" title="AIGLX">AIGLX</a></li>
<li><a href="Compiz" title="Compiz">Compiz</a>/<a href="Beryl_(informatique)" class="mw-redirect" title="Beryl (informatique)">Beryl</a></li>
<li><a href="Wayland" title="Wayland">Wayland</a></li></ul>
<div class="mw-heading mw-heading3"><h3 id="Liens_externes">Liens externes</h3></div>
<ul><li><div class="liste-horizontale"><span class="wd_identifiers"><a href="Autorit%C3%A9_(sciences_de_l'information)" title="Autorité (sciences de l'information)">Notices d'autorité</a></span> : <ul><li><span class="nowrap uid noarchive"><a rel="nofollow" class="external text" href="http://id.loc.gov/authorities/sh88005219">LCCN</a></span></li> <li><span class="nowrap uid noarchive"><a rel="nofollow" class="external text" href="https://www.nli.org.il/en/authorities/987007529947105171">Israël</a></span></li> <li><span class="nowrap uid noarchive"><a rel="nofollow" class="external text" href="https://aleph.nkp.cz/F/?func=find-c&local_base=aut&ccl_term=ica=ph118224">Tchéquie</a></span></li> </ul></div></li>
<li class="mw-empty-elt"></li>
<li><div class="liste-horizontale"><span class="wd_identifiers">Notice dans un dictionnaire ou une encyclopédie généraliste</span> : <ul><li><a rel="nofollow" class="external text" href="https://www.enciclopedia.cat/EC-GEC-0281376.xml"><i>Gran Enciclopèdia Catalana</i></a></li> </ul></div></li>
<li><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> <a rel="nofollow" class="external text" href="http://x.org/">X.org</a>, site de <i>X.Org Foundation</i></li>
<li><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> <a rel="nofollow" class="external text" href="http://x.cygwin.com">x.cygwin.com</a>, site de <a href="Cygwin" title="Cygwin">Cygwin</a>/X, portage de X11 sous Windows</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Notes_et_références"><span id="Notes_et_r.C3.A9f.C3.A9rences"></span>Notes et références</h2></div>
<div class="mw-heading mw-heading3"><h3 id="Notes">Notes</h3></div>
<div class="references-small decimal" style=""><div class="mw-references-wrap"><ol class="references" data-mw-group="note">
<li id="cite_note-2"><span class="mw-cite-backlink"><a href="#cite_ref-2">↑</a> </span><span class="reference-text">Il s'agit, bien évidemment, d'un jeu de mot par rapport au sens de « <a href="https://fr.wiktionary.org/wiki/sous_X" class="extiw external" title="wikt:sous X">sous X</a> » qui signifie « anonymement ».</span>
</li>
<li id="cite_note-5"><span class="mw-cite-backlink"><a href="#cite_ref-5">↑</a> </span><span class="reference-text">Lors des débuts de l'<a href="OSF" class="mw-disambig" title="OSF">OSF</a>, <a href="Hewlett_Packard" class="mw-redirect" title="Hewlett Packard">Hewlett Packard</a> possédait un gestionnaire de fenêtre agréable, et <span class="need_ref" title="Ce passage nécessite une référence." style="cursor:help;">il était fréquent</span><sup class="need_ref_tag" style="padding-left:2px;">[réf. nécessaire]</sup> que des postes X utilisant des programmes hébergés sur <a href="Sun" class="mw-disambig" title="Sun">Sun</a> ou <a href="IBM" title="IBM">IBM</a> utilisent le gestionnaire d'une machine HP du réseau.</span>
</li>
</ol></div>
</div>
<div class="mw-heading mw-heading3"><h3 id="Références"><span id="R.C3.A9f.C3.A9rences"></span>Références</h3></div>
<div class="references-small decimal" style=""><div class="mw-references-wrap"><ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><a href="#cite_ref-1">↑</a> </span><span class="reference-text"><span class="ouvrage" id="Xming_X_Server"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Colin Harrison, « <a rel="nofollow" class="external text" href="http://www.straightrunning.com/XmingNotes/"><cite style="font-style:normal;" lang="en">Xming X Server</cite></a> », <time>2008</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2008-07-31" data-sort-value="2008-07-31">31 juillet 2008</time>)</small></span>.</span>
</li>
<li id="cite_note-Nye-3"><span class="mw-cite-backlink"><a href="#cite_ref-Nye_3-0">↑</a> </span><span class="reference-text"><span class="ouvrage" id="Nye1988"><span class="ouvrage" id="Adrian_Nye1988"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Adrian Nye, <cite class="italique" lang="en">Xlib Programming Manual</cite>, Sebastopol, Californie, O'Reilly & Associates, <time>1988</time> <small style="line-height:1em;">(<a href="International_Standard_Book_Number" title="International Standard Book Number">ISBN</a> <span class="nowrap">1565920023</span>)</small><span class="lang-en" lang="en">, « 1.2.2 The client-server model »</span>, <abbr class="abbr" title="page">p.</abbr> 5<span class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.btitle=Xlib+Programming+Manual&rft.place=Sebastopol%2C+Californie&rft.pub=O%27Reilly+%26+Associates&rft.aulast=Nye&rft.aufirst=Adrian&rft.date=1988&rft.pages=5&rft.isbn=1565920023&rfr_id=info%3Asid%2Ffr.wikipedia.org%3AX+Window+System"></span></span></span></span>
</li>
<li id="cite_note-Tyler-4"><span class="mw-cite-backlink"><a href="#cite_ref-Tyler_4-0">↑</a> </span><span class="reference-text"><span class="ouvrage" id="Tyler1988"><span class="ouvrage" id="Chris_Tyler1988"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Chris Tyler, <cite class="italique" lang="en">X Power Tools</cite>, Sebastopol, Californie, O'Reilly & Associates, <time>1988</time> <small style="line-height:1em;">(<a href="International_Standard_Book_Number" title="International Standard Book Number">ISBN</a> <span class="nowrap">0596101953</span>)</small><span class="lang-en" lang="en">, « 1.6 Where is the server? »</span>, <abbr class="abbr" title="page">p.</abbr> 9<span class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.btitle=X+Power+Tools&rft.place=Sebastopol%2C+Californie&rft.pub=O%27Reilly+%26+Associates&rft.aulast=Tyler&rft.aufirst=Chris&rft.date=1988&rft.pages=9&rft.isbn=0596101953&rfr_id=info%3Asid%2Ffr.wikipedia.org%3AX+Window+System"></span></span></span></span>
</li>
<li id="cite_note-ScheiflerGettys1986-6"><span class="mw-cite-backlink"><a href="#cite_ref-ScheiflerGettys1986_6-0">↑</a> </span><span class="reference-text"><span class="ouvrage" id="ScheiflerGettys1986"><span class="ouvrage" id="Robert_W._ScheiflerJim_Gettys1986">Robert W. <span class="nom_auteur">Scheifler</span> et Jim <span class="nom_auteur">Gettys</span>, « <cite style="font-style:normal">The X window system</cite> », <i>ACM Transactions on Graphics (TOG)</i>, <abbr class="abbr" title="volume">vol.</abbr> 5, <abbr class="abbr" title="numéro">n<sup>o</sup></abbr> 2, <time>1986</time>, <abbr class="abbr" title="pages">p.</abbr> <span class="nowrap">79–109</span> <small style="line-height:1em;">(<a href="International_Standard_Serial_Number" title="International Standard Serial Number">ISSN</a> <span class=" noarchive"><a rel="nofollow" class="external text" href="https://portal.issn.org/resource/issn/0730-0301">0730-0301</a></span>, <a href="Digital_Object_Identifier" title="Digital Object Identifier">DOI</a> <span class=" noarchive nowrap"><a rel="nofollow" class="external text" href="https://dx.doi.org/10.1145/22949.24053">10.1145/22949.24053</a></span>)</small><span class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=The+X+window+system&rft.jtitle=ACM+Transactions+on+Graphics+%28TOG%29&rft.issue=2&rft.aulast=Scheifler&rft.aufirst=Robert+W.&rft.au=Gettys%2C+Jim&rft.date=1986&rft.volume=5&rft.pages=79%E2%80%93109&rft.issn=0730-0301&rft_id=info%3Adoi%2F10.1145%2F22949.24053&rfr_id=info%3Asid%2Ffr.wikipedia.org%3AX+Window+System"></span></span></span></span>
</li>
<li id="cite_note-garfinkel19881112-7"><span class="mw-cite-backlink"><a href="#cite_ref-garfinkel19881112_7-0">↑</a> </span><span class="reference-text"><span class="ouvrage" id="Simson_L.1988-11_1988-12"><span class="ouvrage" id="Garfinkel,_Simson_L.1988-11_1988-12"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Garfinkel, Simson L., « <cite style="font-style:normal" lang="en">A Second Wind for Athena</cite> », <i><span class="lang-en" lang="en">Technology Review</span></i>, 1988-11 1988-12 <small style="line-height:1em;">(<a rel="nofollow" class="external text" href="http://simson.net/clips/1989/1989.TechRev.Athena.pdf">lire en ligne</a>)</small><span class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=A+Second+Wind+for+Athena&rft.jtitle=Technology+Review&rft.au=Garfinkel%2C+Simson+L.&rft.date=1988&rft_id=http%3A%2F%2Fsimson.net%2Fclips%2F1989%2F1989.TechRev.Athena.pdf&rfr_id=info%3Asid%2Ffr.wikipedia.org%3AX+Window+System"></span></span></span></span>
</li>
<li id="cite_note-ScheiflerGettys1997-8"><span class="mw-cite-backlink"><a href="#cite_ref-ScheiflerGettys1997_8-0">↑</a> </span><span class="reference-text"><span class="ouvrage" id="ScheiflerGettys1997"><span class="ouvrage" id="Robert_W._ScheiflerJames_Gettys1997"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Robert W. Scheifler et James Gettys, <cite class="italique" lang="en">X Window System : Core and Extension Protocols : X Version 11, Releases 6 and 6.1</cite>, Digital Press, <time>1997</time>, 996 <abbr class="abbr" title="pages">p.</abbr> <small style="line-height:1em;">(<a href="International_Standard_Book_Number" title="International Standard Book Number">ISBN</a> <span class="nowrap">978-1-55558-148-0</span>)</small><span class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.btitle=X+Window+System+%3A+Core+and+Extension+Protocols+%3A+X+Version+11%2C+Releases+6+and+6.1&rft.pub=Digital+Press&rft.aulast=Scheifler&rft.aufirst=Robert+W.&rft.au=James+Gettys&rft.date=1997&rft.tpages=996&rft.isbn=978-1-55558-148-0&rfr_id=info%3Asid%2Ffr.wikipedia.org%3AX+Window+System"></span></span></span></span>
</li>
<li id="cite_note-9"><span class="mw-cite-backlink"><a href="#cite_ref-9">↑</a> </span><span class="reference-text"><span class="ouvrage"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> « <a rel="nofollow" class="external text" href="https://mako.cc/writing/funding_volunteers/funding_volunteers.html"><cite style="font-style:normal;" lang="en">Problems and Strategies in Financing Voluntary Free Software Projects</cite></a> »</span>.</span>
</li>
</ol></div>
</div>
<div class="navbox-container" style="clear:both;">
</div>
<ul id="bandeau-portail" class="bandeau-portail"><li><span class="bandeau-portail-element"><span class="bandeau-portail-icone"><span class="noviewer" typeof="mw:File"></span></span> <span class="bandeau-portail-texte">Portail des logiciels libres</span> </span></li> </ul></div><!--htdig_noindex--><div><div class="zim-footer">
Cet article est issu de <a class="external text" title="Dernière modification le 2025-10-08" href="https://fr.wikipedia.org/wiki/?title=X_Window_System&oldid=229601646">Wikipédia</a>. Sauf mention contraire, le texte est disponible sous <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.fr">Creative Commons Attribution-Share Alike 4.0</a>. Des conditions supplémentaires peuvent s’appliquer aux fichiers multimédias.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
<script src="./_webp_/webpHandler.js"></script>
</body></html>